package _03_Integer;

/**
 * 深入理解自动装箱和自动拆箱
 * 		1.自动装箱和自动拆箱是编译时的概念,和运行时无关
 * 		2.方便编码
 * 
 * 整型常量池 :
 * 		如果是直接赋值,没有 new ,范围在 -128 ~ 127 之间,都保存在常量池
 * 		不会去堆内存创建对象
 * 
 * 	如果是直接赋值,没有 new 并且超过范围,会在堆内存创建对象
 * 
 * @author lenovo
 * @Date 2020年7月15日
 * @Time 下午9:55:31
 */
public class Integer_06 {
	public static void main(String[] args) {
		Integer i1 = new Integer(10);
		Integer i2 = new Integer(10);
		System.out.println(i1 == i2);
		System.out.println(i1.equals(i2));
//		false
//		true

		Integer i3 = 128; // 就等于 Integer i3 = new Interger(128);
		Integer i4 = 128;
		System.out.println(i3 == i4);// false

		Integer i5 = 10; // 这种不等于 Integer i5 = new Interger(10);
		Integer i6 = 10;
		System.out.println(i5 == i6);
	}
}
